package com.westos.userauth.service;

import com.westos.userauth.domain.Party;
import com.westos.userauth.domain.PartyAttribute;
import com.westos.userauth.domain.PartyGroup;
import com.westos.userauth.domain.Person;
import com.westos.userauth.dto.PartyPrintDto;
import com.westos.userauth.dto.PartySearchDto;

import java.util.Date;
import java.util.List;

public interface PartyService {


    // 删除party
    Boolean deleteParty(String partyId);

    // 设置party的状态
    Boolean setPartyStatus(Party party, String status);
    // 添加人员
    Person createPerson(Person person);

    // 创建人员和用户登录
    void createPersonAndUserLogin();

    // 修改人员信息
     Boolean updatePerson(Person person);

    // 创建用户组
    PartyGroup createPartyGroup(PartyGroup partyGroup);

    // 修改用户组
    Boolean updatePartyGroup(PartyGroup partyGroup);

    // 更新用户组名字变化记录
    int savePartyNameChange(PartyGroup partyGroup,String newName);

    // 根据日期获取用户名字
    List<Person> getPartyNameForDate(Date date);

    // 创建party的属性
    Boolean createPartyAttribute(PartyAttribute partyAttribute);

    //修改party的属性
    Boolean updatePartyAttribute(PartyAttribute partyAttribute);

    // 删除属性
    Boolean removePartyAttribute(PartyAttribute partyAttribute);

    // 查找会员
    List<PartyPrintDto> lookupParty(PartySearchDto partySearchDto);

    // 根据会员id查询会员
    PartyPrintDto findPartiesById(String id);


}
